import type {
  GetCodeData,
  GetCodeParams,
  LoginCodeData,
  LoginCodeParams,
  UploadImage,
  UserData,
} from '@/types/user'
import { request } from '@/utils/request'
/**
 * 上传文件/图片
 * @param filePath
 * @returns
 */

export const uploadImageApi = (filePath: string) => {
  // 小程序需调用通过 uni.uploadFile 上传资源，客户端发起一个 POST 请求
  return request.upload<null, UploadImage>('/upload', {
    name: 'file', // 服务器的 key
    filePath: filePath, // 上传文件资源的路径(沙箱路径)，上传时会自动转换成二进制
  })
}
/**
 * 发送验证码
 */
export const getCodeApi = (params: GetCodeParams) => {
  // get 方法的参数需要通过 params 来传递
  return request.get<null, GetCodeData>('/code', { params })
}
/**
 * 用户登录接口（短信验证码方式）
 */
export const loginByMobileApi = (data: LoginCodeParams) => {
  return request.post<null, LoginCodeData>('/login', data)
}

export const userInfoApi = () => {
  return request.get<null, UserData>('/patient/myUser')
}
